package com.zte.shopping.mapper.dept;


import com.zte.shopping.entity.Dept;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author zuti666
 */
@Repository
public interface DeptMapper {

    /**
     * @Author zuti
     * @Description //TODO  查询部门信息列表
     * @Date 18:58 2020/6/28
     * @Param [from, pageSize]
     * @return java.util.List<com.zte.shopping.entity.Dept>
     **/
    public List<Dept> selectAll(@Param("from") int from,
                                @Param("pageSize") int pageSize);
    /**
     * @Author zuti
     * @Description //TODO 查询所有部门的数量
     * @Date 14:40 2020/6/30
     * @Param []
     * @return int
     **/
    int deptListCount();


    /**
     * @Author zuti
     * @Description //TODO 插入部门
     * @Date 14:41 2020/6/30
     * @Param [d]
     * @return void
     **/
    void insertFatherDept(Dept d);

    /**
     * @Author zuti
     * @Description //TODO 插入子部门
     * @Date 14:41 2020/6/30
     * @Param [d]
     * @return void
     **/
    void insertSonDept(Dept d);

    /**
     * @Author zuti
     * @Description //TODO 跟新部门信息
     * @Date 14:41 2020/6/30
     * @Param [parseInt, deptName, remark]
     * @return void
     **/
    void updateDept(@Param("Id") int parseInt,
                    @Param("deptName") String deptName,
                    @Param("remark") String remark);


    /**
     * @Author zuti
     * @Description //TODO 更新部门状态
     * @Date 14:42 2020/6/30
     * @Param [parseInt, status]
     * @return void
     **/
    void updateStatus(@Param("Id") Integer parseInt,
                      @Param("status") Integer status);


    Dept selectByName(@Param("name") String deptName);

    Dept selectByIdAndName(@Param("Id") int parseInt,
                           @Param("deptName") String deptName);

    Dept selectById(@Param("id") int parseInt);
}
